package org.bonorsoft.modules.dingding.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.bonorsoft.common.constant.UserConstants;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * @Description: 角色
 * @Author: WilliamYe
 * @Date:   2020-11-13
 * @Version: V1.0
 */
@Data
@TableName("SYS_ROLE")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SysRole {

	/**主键id*/
	@TableId(type = IdType.ID_WORKER_STR)
	private java.lang.Integer id;
	/**角色名称*/
	@Excel(name = "角色名称", width = 15)
	private java.lang.String name;
	/**所属的角色组ID*/
	private java.lang.Long groupId;
	/**角色权限字符串*/
	private java.lang.String roleKey;
	/**显示顺序*/
	private java.lang.Integer roleSort;
	/**数据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限）*/
	private java.lang.String dataScope;
	/**角色状态（0正常 1停用）*/
	private java.lang.String status;
	/**删除标志（0代表存在 2代表删除）*/
	private java.lang.String delFlag;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private java.util.Date createTime;
	/**更新人*/
	private java.lang.String updateBy;
	/**更新时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private java.util.Date updateTime;
	/**备注*/
	private java.lang.String remark;

	public SysRole(Integer id) {
		this.id = id;
	}

	public boolean whetherAdmin()
	{
		return whetherAdmin(this.id);
	}

	private static boolean whetherAdmin(Integer id)
	{
		return id != null && id.equals(UserConstants.ADMIN_ROLE_ID);
	}

}
